package com.java.second_goods.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.java.second_goods.entity.Review;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 评价Mapper接口
 */
@Mapper
public interface ReviewMapper extends BaseMapper<Review> {

    /**
     * 根据订单ID查询评价
     *
     * @param bookingId 订单ID
     * @return 评价信息
     */
    Review selectReviewByBookingId(@Param("bookingId") String bookingId);

    /**
     * 根据厨师ID查询评价列表
     *
     * @param chefId 厨师ID
     * @return 评价列表
     */
    List<Review> selectReviewsByChefId(@Param("chefId") Integer chefId);

    /**
     * 根据用户ID查询评价列表
     *
     * @param userId 用户ID
     * @return 评价列表
     */
    List<Review> selectReviewsByUserId(@Param("userId") Integer userId);

    /**
     * 获取厨师评分
     *
     * @param chefId 厨师ID
     * @return 平均评分
     */
    Double getChefAvgRating(@Param("chefId") Integer chefId);
}